You Forgot What You Ate
The user of the You Are What You Eat program has more trouble recalling what he ate than anticipated. He also wonders if the computer can keep track of the fat and calories in each thing he eats so that he only has to enter it once. This case study describes how a programmer might respond to problems encountered by users. What does "user-friendly" really mean?
Problem Statement
We encounter Terry a few days after giving him the You Are What You Eat program.
MIKE AND MARCIA: How's the program working out?
TERRY: It's OK, but ... (pause)
MIKE AND MARCIA: We wouldn't mind trying to improve the program a bit, if you have some things to suggest.
TERRY: Well, I always have to look up the amounts of fat and calories each food I eat has. Can you make the program do that instead?
MIKE AND MARCIA: That would be possible. You would want to enter the food and how many servings of it you had, right. Then the program would report how much fat and how many calories you had eaten?
TERRY: Right.
MIKE AND MARCIA: All the information for each food would be stored in a disk file. There will be a lot of it. Do you have room on your disk?
TERRY: I think so.
MIKE AND MARCIA: Are you having any other problems with the program?
TERRY: It would be nice to be able to print a copy of the graph the program produces.
MIKE AND MARCIA: That's possible too. You can get printed versions of text files on your computer, right? What else?
TERRY: On Friday, after running the program, I remembered something else I ate. Then I was gone all day on Saturday, and I was too tired to run the program when I got home. When I ran the program on Sunday I put in Sunday's foods before Saturday's, so they were out of order. To fix the problem, I edited the history file with my text editor even though you told me not to. I made a mistake, so when I ran the program it crashed. I knew it was my fault so I fixed the file, but I was worried that I had messed up something somehow.
MIKE AND MARCIA: Calm down, it's OK, no harm done. Suppose we write a program that will let you change what's in the file. It can give you a chance to correct any mistakes you make and add stuff you forget.
TERRY: That would be great!
MIKE AND MARCIA: OK, give us another day or two.
Analysis
8.1 What additional questions might the programmers have asked Terry in order to clarify the planned modifications?
Analysis
8.2 What additional features might help the user of the program?
Analysis
8.3 What should the program do about foods that are not found in the food information file?
Analysis
8.4 Sketch an interaction between Terry and the revised program.
Reflection
8.5 What are the drawbacks to this process of trial and refinement of the program?
Reflection
8.6 What kinds of programs benefit from the process of trial and refinement used to develop this program?